<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<script>
// 基本包装类型：number string boolean
// 简单理解：将基本类型包装成引用类型
// JS引擎在需要的时候会将 number string boolean 包装成引用类型

var str = 'hello'; // 基本类型
var s2 = str.charAt(1);// 调用字符串方法
console.log( s2 );// 'e'

// 模拟JS引擎包装的过程：
// var _str = new String('hello'); // 1.根据基本类型创建对应的引用类型（包装成对象）
// var s2 = _str.charAt(1); // 2.通过包装对象调用对应的方法 
// _str = null; // 3.销毁临时创建的包装对象


var num = 123;
num.hehe = '呵呵';
console.log( num.hehe );// undefined

// 模拟JS引擎包装的过程：
// var _num = new Number(123);// 根据基本类型创建对应的引用类型（包装成对象）
// _num.hehe = '呵呵';// 给包装对象添加属性hehe 
// _num = null; // 销毁临时创建的包装对象

</script>
</body>
</html>